Conversation
Recognize Devin as a distinct authentication provider and ensure models under the devin/ namespace are accurately categorized. - Register 'devin' in the AuthFileType union - Add official Devin light and dark SVG icons - Configure brand theme colors and icon mapping for Devin credentials - Implement namespace-first categorization for devin/* models without stripping original IDs - Add Devin filter label to en, ru, zh-CN, and zh-TW locale files - Register Devin category icon in System Models view - Add unit tests covering model classification, auth metadata, and account provider tabs
Include 'devin' in GENERIC_PROVIDER_LABELS so that bare devin provider/channel names are treated as secondary metadata rather than primary account identities in Monitoring source displays.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add complete end-to-end Devin provider support to CPA Manager Plus. This incorporates provider identity recognition, official branding,
devin/*model namespace categorization, OAuth login lifecycle, daily/weekly quota windows and plan status tracking, Visual Config support fordevin.sensitive-wordsobfuscation rules, extensive integration/lifecycle regression coverage, and full documentation updates.Scope
Changes
Stage 1: Identity & Model Namespace
'devin'toAuthFileTypeinapps/web/src/types/authFile.ts.devin.svg,devin-dark.svg) and brand theme colors.devin/*models inapps/web/src/utils/models.tswhile preserving canonical model identifiers.SystemPage.tsx) and add localized filter labels across en, ru, zh-CN, and zh-TW.Stage 2: OAuth Login Flow
/devin-auth-url,/get-auth-status,/oauth-callback, and/oauth-session.Stage 3: Quota & Plan Status
/api-callusing the credential'sauthIndexand server-side$TOKEN$substitution.GetUserStatus:min(daily, weekly).planStatus, includingplanInfo.planName,planStart, andplanEnd(parsed as ISO timestamps, ignoring invalid or zero-time values).Stage 4: Visual Config
devin.sensitive-wordsdevin.sensitive-wordsin YAML configuration for sensitive-word obfuscation settings.devin:, and cleanly remove thedevinblock only when empty upon clearing.Stage 5: Integration & Lifecycle Regressions & Documentation
daily > weekly).README.md,README_CN.md, Capability Matrix (capability-matrix.md), Accounts manual (accounts.md), and OAuth manual (oauth.md).User Impact
Users can now authenticate Devin accounts via OAuth, monitor daily and weekly quota windows and plan expiration, route
devin/*models with correct brand iconography, and configuredevin.sensitive-wordsobfuscation rules directly in the visual configuration editor.Compatibility / Runtime Notes
/devin-auth-url,/get-auth-status,/oauth-callback,/oauth-session)./api-callwith credential-scopedauthIndexand server-side$TOKEN$substitution.devin.sensitive-wordsis edited by CPAMP but interpreted and applied by CPA.Data / Security Notes
$TOKEN$placeholder through CPA/api-call; CPA resolves the selected credential server-side and sends the authenticated request to the Devin upstream.authIndex.devin.sensitive-wordsis ordinary CPA configuration data, not credential data.Risk / Rollback
Risk level: Medium
Rollback notes: Can be cleanly reverted via
git revertwithout schema or server-side persistent data migration impacts.Verification
Commands / evidence:
Screenshots / Recordings
N/A — manual UI walkthrough completed locally; no visual regression requiring before/after screenshots.
Docs
Docs decision: Complete provider capability documentation, accounts manual, OAuth manual, and capability matrix entries have been updated for Devin.
Related
N/A
Invariant Checklist
devin/*)